package com.example.propertymanagement.dto;

import com.example.propertymanagement.entity.CommunityStatus;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * CommunityDTO：用于从后端传输小区相关数据的对象
 * 包含小区的基本信息、状态、管理员等字段
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)  // 忽略null字段
public class CommunityDTO {
    private Integer id; // 小区ID
    private String communityCode; // 小区编号
    private String communityName; // 小区名称
    private String address; // 小区地址
    private Double area; // 小区占地面积
    private Integer totalBuildings; // 小区总栋数
    private Integer totalHouseholds; // 小区总户数
    private Double greeningRate; // 绿化率
    private String thumbnail; // 小区缩略图路径
    private String developer; // 开发商名称
    private Date createTime; // 小区创建时间
    private CommunityStatus status; // 小区状态：ENABLED, DISABLED
    private String statusLabel;  // 启用、禁用（用于前端显示）

    private List<Integer> adminIds;  // 小区管理员ID列表
    private List<Integer> buildingIds;  // 小区下楼栋ID列表

    public void setStatus(CommunityStatus status) {
        this.status = status;
        this.statusLabel = status.getLabel();  // 自动设置中文标签
    }
}